[TRTLLM-11875][feat] BREAKING: MambaCacheManager based on KVCacheManagerV2 & agentic prefix caching#16598
Conversation
|
/bot run |
|
PR_Github #60284 [ run ] triggered by Bot. Commit: |
|
PR_Github #60284 [ run ] completed with state
|
94db6dc to
6ffdf55
Compare
|
/bot run --disable-fail-fast |
|
PR_Github #60398 [ run ] triggered by Bot. Commit: |
|
PR_Github #60398 [ run ] completed with state
|
73e76f7 to
f7770b5
Compare
|
@lowsfer to review again. |
|
PR_Github #61187 [ run ] completed with state
|
Signed-off-by: Xiwen Yu <13230610+VALLIS-NERIA@users.noreply.github.com>
|
/bot run --disable-fail-fast |
|
PR_Github #61282 [ run ] triggered by Bot. Commit: |
Signed-off-by: Xiwen Yu <13230610+VALLIS-NERIA@users.noreply.github.com>
Signed-off-by: Xiwen Yu <13230610+VALLIS-NERIA@users.noreply.github.com>
Signed-off-by: Xiwen Yu <13230610+VALLIS-NERIA@users.noreply.github.com>
|
PR_Github #61282 [ run ] completed with state
|
|
/bot run --disable-fail-fast |
|
PR_Github #61312 [ run ] triggered by Bot. Commit: |
|
PR_Github #61312 [ run ] completed with state
|
test_v2_hybrid_replay_bookkeeping_matches_checkpoint_predicate hardcoded a checkpoint-crossing scenario assuming replay_history_size == tokens_per_gen_step (5). Since replay_history_size became max(MIN_REPLAY_HISTORY_SIZE=16, tokens_per_gen_step), the scenario no longer crossed the checkpoint threshold, so prev_num_accepted_tokens accumulated (3+2=5) instead of resetting to 2. Derive the threshold from the manager's replay metadata and drive update_mamba_states until it actually crosses prev + step_width > history_size, so the test tracks the real checkpoint predicate regardless of the minimum history size. Signed-off-by: Xiwen Yu <13230610+VALLIS-NERIA@users.noreply.github.com>
|
/bot run |
|
PR_Github #61436 [ run ] triggered by Bot. Commit: |
|
PR_Github #61436 [ run ] completed with state
|
|
/bot run |
|
PR_Github #61447 [ run ] triggered by Bot. Commit: |
|
PR_Github #61447 [ run ] completed with state
|
Shixiaowei02
left a comment
There was a problem hiding this comment.
Could the auto resolver degrade back to False in dis-agg when the transceiver can't be PYTHON+NIXL? That avoids a startup hard-fail for existing UCX/MPI deployments. Besides, how far are we from making the default workflow? What tests still need to be completed?
|
|
||
| if ssm_lc_id is not None: | ||
| page_ref = matched_blocks[-1].storage[ssm_lc_id] | ||
| if page_ref is None: |
There was a problem hiding this comment.
Seems duplicating previous code? we can move it to a local function and call it in both sites.
| class KVCacheDesc: | ||
| capacity: int | ||
| history_length: int | ||
| num_ssm_slots: int = 1 |
There was a problem hiding this comment.
As we discussed, we shouldn't add this.
Signed-off-by: Xiwen Yu <13230610+VALLIS-NERIA@users.noreply.github.com>
Signed-off-by: Xiwen Yu <13230610+VALLIS-NERIA@users.noreply.github.com>
Signed-off-by: Xiwen Yu <13230610+VALLIS-NERIA@users.noreply.github.com>
|
/bot run --disable-fail-fast |
|
PR_Github #61677 [ run ] triggered by Bot. Commit: |
|
PR_Github #61677 [ run ] completed with state
|
Description
This PR adds the KV-cache-manager V2 implementation for hybrid Mamba models and moves Mamba state reuse onto explicit snapshot boundaries.
Key changes:
MambaHybridCacheManagerV2, including recurrent-state allocation, replay, promotion, dynamic-tree capacity, and deterministic stochastic-rounding state.MambaStateConfigwith periodic and fixed-position snapshot policies. The legacymamba_state_cache_intervalremains accepted only as a deprecated config-file alias.This is an API/config migration: use
kv_cache_config.mamba_state_config.periodic_snapshot_intervalinstead ofkv_cache_config.mamba_state_cache_intervalin Python code.Test Coverage
Local validation after merging current
main:PR Checklist
Please review the following before submitting your PR:
PR description clearly explains what and why. If using CodeRabbit's summary, please make sure it makes sense.
PR follows TRT-LLM CODING GUIDELINES to the best of your knowledge.
Test cases are provided for new code paths (see test instructions).
If PR introduces API changes, an appropriate PR label is added, either
api-compatibleorapi-breaking. Forapi-breaking, includeBREAKINGin the PR title.Any new dependencies have been scanned for license and vulnerabilities.
CODEOWNERS is updated if ownership changes.
Documentation is updated as needed.
Update the TAVA architecture diagram if there is a significant design change.
The reviewers assigned automatically or manually are appropriate for the PR.
Please check this after reviewing the above items as appropriate for this PR.
GitHub Bot Help
To see a list of available CI bot commands, comment
/bot help.